1. Technical Field of the Invention
This invention relates to radio telecommunications systems, and more particularly, to a method of preserving data packet sequencing in a radio telecommunications network in which an Internet Protocol (IP) based protocol is utilized to communicate data between the nodes of the network.
2. Description of Related Art
Existing radio telecommunications networks utilize a frame relay (FR) protocol which selects a single FR virtual circuit for communication between an originating node and a destination node. A sequence of data packets is then sent on the single FR virtual circuit to the destination node. Consequently, the data packets arrive in the same order as they are sent. However, there are disadvantages to the FR protocol. First, FR does not retransmit faulty or missing data packets. Thus, if a packet is dropped during transmission, it is lost with no chance of recovery. Second, if the FR virtual circuit is bad, the entire transmission is lost. Therefore, it would be advantageous to have a protocol that overcomes the disadvantages of FR.
Existing IP-based data networks utilize the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP) to transmit data between nodes. Both of these protocols operate over an IP layer that solves the problem of a link going down by automatically re-routing packets over alternative routes. The TCP protocol, however, is a connection-oriented acknowledgment protocol that is much too powerful and robust to use as a replacement for FR in radio telecommunications networks. In addition, TCP has a very aggressive retransmission scheme that is not suitable for applications such as real-time voice transmission. The UDP protocol is not as xe2x80x9cheavyxe2x80x9d as the TCP protocol, and it does not retransmit lost packets, but UDP is not suitable as a replacement for FR because it does not enforce packet sequencing. Therefore, neither TCP nor UDP are suitable replacements for FR.
It would be advantageous to have a method of preserving data packet sequencing between the nodes in a radio telecommunications network that overcomes the disadvantages of both TCP and UDP. The present invention provides such a method.
In essence, the present invention augments the UDP protocol to attain similar characteristics as FR. Since the UDP protocol does not enforce packet sequencing, the invention augments UDP by adding this capability. As a result, the invention provides a protocol with automatic routing behavior and packet resequencing without requiring any supplemental control data transmissions or acknowledgments.
Thus, in one aspect, the present invention is a method of preserving the sequence of a plurality of data packets in a radio telecommunications network in which an Internet Protocol (IP) based protocol is utilized between a sending node and a receiving node whereby data packets at the receiving node are resequenced in the same order as sent by the sending node. The method includes the steps of sequentially numbering the data packets at the sending node and sequentially transmitting the packets in a sequence from the sending node over a plurality of data transmission paths. This is followed by the receiving of the sequence of data packets at the receiving node and passing the received data packets directly to a receiving application if the received data packets have sequential packet numbers. The method reconstructs the data packets into the transmitted sequence if the received data packets do not have sequential packet numbers.
The method for reconstructing the data packets into the transmitted sequence includes the steps of storing a first out-of-sequence data packet in a reconstruction buffer, and starting a packet timer, T1, at the receiving node when the out-of-sequence packet is received. T1 times the longest permissible transfer time of a single packet through the network. Subsequently received data packets are also stored in the buffer. If a received packet forms a sequence at the beginning of the buffer, the sequence is passed to the receiving application. If there are any other out-of-sequence packets left in the buffer, T1 is restarted with a T1 value equal to the T1 default value minus the total time spent by the next out-of-sequence packet in the reconstruction buffer. If there are no more out-of-sequence packets in the reconstruction buffer, then T1 is stopped. If T1 expires, or the buffer fills up, the first sequence of packets in the buffer are passed to the receiving application, regardless of their position in the buffer. Once again, if there are any other out-of-sequence packets left in the buffer, T1 is restarted with a T1 value equal to the T1 default value minus the total time spent by the next out-of-sequence packet in the reconstruction buffer. If there are no more out-of-sequence packets in the reconstruction buffer, then T1 is stopped.
In another aspect, the present invention is a method of preserving data packet sequencing when a plurality of data packets are transmitted over a plurality of data transmission paths between a sending node and a receiving node in a radio telecommunications network. The method begins by the sending node labeling each packet being transmitted with an increasing sequence number until a predetermined number of packets have formed a sequence, and then repeating the sequence numbers for each subsequent sequence. The packets are then transmitted from the sending node in a series of sequences, each sequence containing the predetermined number of data packets and repeating the sequential numbers assigned to each data packet within each sequence. The sequence numbers are simply dictated by the packet number wrapping due to limited storage space for the sequence numbers. When a first data packet is received out of sequence at the receiving node, it is time-stamped and placed in a reconstruction buffer, and a packet timer, T1, is started. T1 times the longest permissible transfer time of a single packet through the network. Subsequently received data packets are also stored in the buffer. If a received packet forms a sequence at the beginning of the buffer, the sequence is passed to the receiving application. If there are any other out-of-sequence packets left in the buffer, T1 is restarted with a T1 value equal to the T1 default value minus the total time spent by the next out-of-sequence packet in the reconstruction buffer. If there are no more out-of-sequence packets in the reconstruction buffer, then T1 is stopped. The buffer contains storage space to store the maximum number of data packets that may be received by the network interface during T1. If a sequence is formed at the beginning of the buffer space before T1 expires, the sequence is passed to the receiving application. If T1 expires, or the buffer fills up, any sequential packets in the buffer are passed to the receiving application. An inactivity timer, T2, is started whenever the buffer is empty. T2 times the time period for the sequence number to repeat itself (wrap-around). If T2 expires before a packet is received, the process starts over.
In another aspect, the present invention is a method of transmitting data from a first node in a radio telecommunications network to a second node in the radio telecommunications network. The method includes the steps of packetizing the data in a plurality of data packets having an original sequence of sequential packet numbers, and transmitting the data packets from the first node over a plurality of data transmission paths to the second node using the User Datagram Protocol/Internet Protocol (UDP/IP) data transmission protocol. The UDP/IP protocol is adapted with a resequencing algorithm, and the method concludes by resequencing the plurality of data packets at the second node into the original sequence.